Providing services such as educational services through the Internet or other distributed network system requires potential users of the system to be authenticated by the server that hosts the desired applications. Corporations and other users that have their own web servers may desire services from a central source or server. One way in which a user may use services is to connect directly to the server. However, many corporations have enterprise firewalls that do not allow the potential user to log directly into the central server having the desired application.
Kerberos is a security protocol typically used for single login to an enterprise system for accessing services from multiple servers in the enterprise. Kerberos is typically used on physically insecure networks and is based on a key distribution model. It allows entities communicating over the networks to prove their identity to each other while preventing eavesdropping or replay attacks. It also provides a data stream integrity and secrecy using cryptography systems. Kerberos works by providing principals with tickets that they can use to identify themselves to other principals and secret cryptographic keys for secure communication with other principals. A ticket is typically a sequence of a few hundred bytes. These tickets can be imbedded in virtually any other network protocol, thereby allowing the processes implementing that protocol to be sure about the identity of the principals involved. Kerberos is mostly used in application-level protocols such as Telnet or FTP, to provide user to host security.
It is well known that Kerberos security protocol does not work for Windows 95 and 98 environments because the file system is not secure enough and does not allow multiple users. Also, the Kerberos protocol is not designed for hypertext transfer protocol environments.
It would therefore be desirable to provide a system that uses some Kerberos-based principals to allow users to communicate through their firewalls to reach remote applications.